package org.pebom.util;


import java.awt.Dimension;
import java.awt.Toolkit;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import GUI.MainWindow;
public class Diversos {

    private static Diversos diversos;
    
    private SimpleDateFormat formatadorDataHora = new SimpleDateFormat("dd/MM/yyyy kk:mm");
    private MainWindow main;

    public synchronized static Diversos getInstance() {
        if (diversos == null) {
            diversos = new Diversos();
        }

        return diversos;
    }

    public static void alert(String mensagem) {
        JOptionPane.showMessageDialog(null, mensagem);
    }

  

   

    public static boolean vazio(String texto) {
        if (texto == null) {
            return true;
        }
        if (texto.trim().equals("")) {
            return true;
        }
        return false;
    }

    public static void centralizaDialog(JDialog dialog) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension size = dialog.getSize();
        screenSize.height = screenSize.height / 2;
        screenSize.width = screenSize.width / 2;
        size.height = size.height / 2;
        size.width = size.width / 2;
        int y = screenSize.height - size.height;
        int x = screenSize.width - size.width;
        dialog.setLocation(x, y);
    }

    public static void centralizaContainer(JFrame frame) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension size = frame.getSize();
        screenSize.height = screenSize.height / 2;
        screenSize.width = screenSize.width / 2;
        size.height = size.height / 2;
        size.width = size.width / 2;
        int y = screenSize.height - size.height;
        int x = screenSize.width - size.width;
        frame.setLocation(x, y);
    }
  
    public void changePanel(JPanel panel) {
    }

    public String formataDataHora(Date data) {
        if ( data == null )
            return null;
        return formatadorDataHora.format(data);
    }

    public String getHashUser() {
        return System.getProperty("hash");
    }
    
    public static int CONFIRMACAO_ALTERACAO = 1;
    public static int CONFIRMACAO_EXCLUSAO = 2;

    public boolean mensagemConfirmacao(int tipo) {
        if (tipo == CONFIRMACAO_ALTERACAO) {
            return mensagemConfirmacao("comum.confirmaAlteracao");
        } else if (tipo == CONFIRMACAO_EXCLUSAO) {
            return mensagemConfirmacao("comum.confirmaExclusao");
        }
        return false;
    }

    public boolean mensagemConfirmacao(String mensagem) {
        Object[] options = {"Sim", "Não"};
        int n = JOptionPane.showOptionDialog(null,
                mensagem,
                "Confirmação",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null, //do not use a custom Icon
                options, //the titles of buttons
                options[0]); //default button title
        if (n == JOptionPane.YES_OPTION) {
            return true;
        }
        return false;
    }

    public MainWindow getMain() {
        return main;
    }

    public void setMain(MainWindow main) {
        this.main = main;
    }
}